package pl.com.sthaether.mc.event;

import java.util.concurrent.Callable;

public abstract class MCWork<T> extends MCEvent<T> implements Callable<T> {

    protected MCWork(String actionName, MCEventType type, boolean registerOnBus) {
        super(actionName, type, registerOnBus);
    }

    @Override
    public T call() throws Exception {
        return resolveEvent();
    }

    public abstract T getFailedItem();
}
